package com.example.vendingmachine.mapper;

import com.example.vendingmachine.entity.Product;
import com.example.vendingmachine.dto.ProductQuery;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;

/**
 * 商品数据访问层
 */
@Mapper
public interface ProductMapper {
    /**
     * 查询商品列表
     */
    List<Product> selectList(ProductQuery query);
    
    /**
     * 根据ID查询商品
     */
    Product selectById(Long id);
    
    /**
     * 新增商品
     */
    int insert(Product product);
    
    /**
     * 更新商品
     */
    int update(Product product);
    
    /**
     * 删除商品
     */
    int deleteById(Long id);
    
    /**
     * 更新商品状态
     */
    int updateStatus(Long id, String status);

    /**
     * 查询商品总库存
     */
    int selectTotalStock(Long id);
} 